Animal Crossing: New Leaf - Dream Suite Archive
Item Preview
There Is No Preview Available For This Item
This item does not appear to have any files that can be experienced on Archive.org.
Please download files in this item to interact with them on your computer.
Show all files
Share or Embed This Item
- Topics
- nintendo, 3ds, animal crossing, new leaf, pretendo, pretendo network, datastore, nex
- Item Size
- 103.6G
Archive overview:
This archive contains all the data archived from Animal Crossing: New Leaf's Dream Suite, which was archived by the Pretendo Network team. This archive contains data taken from several different archival sessions that downloaded data from Nintendo's servers starting in early January 2024 up until close to the shutdown in April 2024.Once ready, the data from this archive will be available in a viewable format on the Pretendo Network website. At that time this archive will be updated to have a link to said website.
Nintendo uses a custom protocol known as DataStore to manage user-generated content for games on the 3DS, Wii U, and some Switch games. This protocol stores raw user content (known as "objects"), along with certain metadata about the content, such as its access rights, game-specific rating systems, download statistics, etc.
This archive contains the raw DataStore data, and associated metadata, of 239,105 objects used for Dream Suite in Animal Crossing: New Leaf. This data is not usable as-is in the game and is only useful either when converted into a New Leaf save file or used in a NEX server running the DataStore protocol.
The archive comes with two files:
objects.tar- 111.4 GB. This file contains all the raw object data for each item from DataStore. Each file is named using the patternDataID_vVersion.bin. The DataID uniquely identifies a specific object. The Version represents a specific version of that object. Not all objects will have more than one version, and only the latest version of an object is provided by the game server. Therefore, some objects may only appear once, and some may seem to skip versions due to new versions being uploaded after previous sessions. This file is not compressed, as compressing it yields next to no size gain.datastore.sqlite- 90.7 MB.This file contains all the metadata for each object. Contains a row for every version of each object.
objects.tar or attempting to directly download an individual file from the archive via archive.org will throw a 504 HTTP error. If you wish to download an individual file download it via https://r2-acnl-public.pretendo.network/objects/DataID_vVersion.binObject data overview:
The layout of the object files is not currently known. The first 16 bytes appear to be some form of header, the final 4 bytes of which are always all null. The remaining data is likely raw town data, either compressed or encrypted in some way.Database overview:
Each table in the database is designed to emulate a portion of the DataStore protocol and relevant object metadata. Columns may exist even if that data is not used by Animal Crossing: New Leaf. Objects in DataStore may have their contents updated periodically, incrementing an internal version number. Game servers only provide data for the latest version, deleting older data when the object is updated. However, this database may contain data for multiple versions of the same object due to the archive being made using multiple dumps. When used in a game server, the objects DataID uniquely identifies it, however in this database a combination of DataID and Version is used as unique identifiers."objects" table:
The "objects" table contains general metadata about each DataStore object. All other tables either supplement or build off of the data found in this table.CREATE TABLE "objects" (
data_id INT, -- The unique ID for this object. This is always globally unique in game officially, though multiple rows in this database may have the same data_id
version INT, -- The object version
owner_id INT, -- The principal ID (PID) of the player who uploaded the object
size INT, -- The size of the object file as stored in the file server
name TEXT, -- The name given to the object by the game/uploader
data_type INT, -- The game-specific type of this object. Games may handle objects of different types differently
meta_binary , -- Optional raw binary data. Used to store extra metadata about the object the game can use at runtime
access_permission INT, -- The permission level set to be able to access the objects data
update_permission INT, -- The permission level set to be able to update the objects data
create_time_original INT, -- The timestamp of when the object was created. Uses Nintendo's custom timestamp format
create_time_standard TEXT, -- The timestamp of when the object was created. Uses YYYY-MM-DD HH:MM::SS format
update_time_original INT, -- The timestamp of when the object was last updated. Uses Nintendo's custom timestamp format
update_time_standard TEXT, -- The timestamp of when the object was last updated. Uses YYYY-MM-DD HH:MM::SS format
period INT, -- The number of days the object would be uploaded for. Each access of the object increased the expiration time by this many days
status INT, -- Object status. Used to control access to the object after upload
referred_count INT, -- The number of times the object was accessed
refer_data_id INT, -- An associated object DataID
flag INT, -- Flags telling the game server how to manage the object
referred_time_original INT, -- The timestamp of when the object was last accessed. Uses Nintendo's custom timestamp format
referred_time_standard TEXT, -- The timestamp of when the object was last accessed. Uses YYYY-MM-DD HH:MM::SS format
expire_time_original INT, -- The timestamp of when the object was set to be automatically deleted. Uses Nintendo's custom timestamp format
expire_time_standard TEXT -- The timestamp of when the object was set to be automatically deleted. Uses YYYY-MM-DD HH:MM::SS format
)
"tags" table:
The "tags" table contains all the tags used for each DataStore object. Tags are used to look up groups of related objects. Due to limitations with SQLite not supporting arrays of data, these tags are stored in their own table.Only some tags currently have known meanings:
- All tags prefixed with
Lrepresent the name of the town. - All tags prefixed with
Prepresent the names of villagers in the town, including the name of the uploader. - All tags prefixed with
UL_Cseem to represent a country ID. - All tags prefixed with
UL_Aseem to represent an area ID inside a country. - All tags prefixed with
DL_Cseem to represent a country ID. - All tags prefixed with
DL_Aseem to represent an area ID inside a country. - It is not known how the
UL_tags differ from theDL_tags. Some objects have only eitherUL_orDL_, some have both. Possibly dealing with uploads vs. downloads? It may also be region differences, as searching for towns on a USA copy of the game uses theDL_tag to filter. - There are several other tags, with prefixes such as
N,VandR. These tags have unknown meanings at this time.
CREATE TABLE "tags" (
data_id INT, -- The DataID the tag is for
version INT, -- The object version
tag TEXT -- Tag string
)
"ratings" table:
The "ratings" table contains information about the ratings for each DataStore object. Objects in DataStore may have "ratings", a score given to the object that has game-specific meanings. An object can have multiple ratings, each with a different purpose. Each rating is tracked separately and referenced using a "slot" number.The meanings of the ratings in Animal Crossing: New Leaf are currently unknown.
CREATE TABLE "ratings" (
data_id INT, -- The DataID the rating is for
version INT, -- The object version
slot INT, -- The rating slot number
total_value INT, -- The total value of all ratings for this object in this slot
count INT, -- The total number of individual ratings given for this object in this slot
initial_value INT -- The ratings initial value for this slot when the object was uploaded
)
"access_recipients" table:
The "access_recipients" table contains information about who can access each DataStore object. Objects in DataStore may opt to restrict access to themselves. Certain permission levels restrict access to either specific users, or specific friends of the owner. The principal IDs (PIDs) of these users are stored in this table. Due to limitations with SQLite not supporting arrays of data, these PIDs are stored in their own table.Unused in Animal Crossing: New Leaf.
CREATE TABLE "access_recipients" (
data_id INTEGER, -- The DataID the recipient is for
version INTEGER, -- The object version
pid INTEGER, -- The principal ID (PID) of the player allowed to access the object
UNIQUE (data_id, version, pid),
FOREIGN KEY (data_id) REFERENCES objects(data_id)
)
"update_recipients" table:
The "update_recipients" table contains information about who can update each DataStore object. Objects in DataStore may opt to restrict access to themselves. Certain permission levels restrict who can update the object (both object data and metadata) to either specific users, or specific friends of the owner. The principal IDs (PIDs) of these users are stored in this table. Due to limitations with SQLite not supporting arrays of data, these PIDs are stored in their own table.Unused in Animal Crossing: New Leaf.
CREATE TABLE "update_recipients" (
data_id INTEGER, -- The DataID the recipient is for
version INTEGER, -- The object version
pid INTEGER, -- The principal ID (PID) of the player allowed to update the object
UNIQUE (data_id, version, pid),
FOREIGN KEY (data_id) REFERENCES objects(data_id)
)
- Addeddate
- 2024-08-19 18:50:22
- Identifier
- animal-crossing-new-leaf-dream-suite-archive
- Scanner
- Internet Archive HTML5 Uploader 1.7.0
comment
Reviews (6)
1,428 Views
27 Favorites
DOWNLOAD OPTIONS
IN COLLECTIONS
Community DataUploaded by Pretendo Network on
Open Library